home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dskut / gd_v11.zip / JUDGE.DOC < prev   
Text File  |  1992-12-24  |  21KB  |  795 lines

  1. .PL
  2.         JUDGE Language Manual                                   12/24/92
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                               JUDGE Language Manual
  10.  
  11.  
  12.  
  13.  
  14.                          (C) Copyright 1992, Jack Hwang
  15.  
  16.  
  17.  
  18.  
  19.                                    Version 1.1
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                                    1
  63.         JUDGE Language Manual                                   12/24/92
  64.  
  65.  
  66.                          T a b l e   o f   C o n t e n t
  67.                         ---------------------------------
  68.  
  69.         Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
  70.         Language Description . . . . . . . . . . . . . . . . . . . . . 4
  71.         Basic Style. . . . . . . . . . . . . . . . . . . . . . . . . . 4
  72.         Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
  73.         Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
  74.         Names. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
  75.         Description. . . . . . . . . . . . . . . . . . . . . . . . . . 5
  76.         MODULE definition. . . . . . . . . . . . . . . . . . . . . . . 6
  77.         Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
  78.         ABSOLUTE record. . . . . . . . . . . . . . . . . . . . . . . . 7
  79.         RELATIVE record. . . . . . . . . . . . . . . . . . . . . . . . 8
  80.         FIELD definition . . . . . . . . . . . . . . . . . . . . . . . 10
  81.         DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
  82.         ENTRY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
  83.         Comment. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.                                    2
  124.         JUDGE Language Manual                                   12/24/92
  125.  
  126.  
  127.         Introduction
  128.         ------------
  129.  
  130.         JUDGE is a definition language designed to work with GameDirector 
  131.         to  provide a universal data editing capability.   JUDGE  defines 
  132.         the name, the location and the size of a data in a data file,  as 
  133.         well  as  how  will  this data be displayed  on  the  screen  for 
  134.         editing.    GameDirector then can read the definitions, get  data 
  135.         from  a file, and display forms which consist of these  data  for 
  136.         editing.
  137.  
  138.         JUDGE  is  designed  to be structured and  hierarchical  but  yet 
  139.         simple.  Different levels in the hierarchy represent not only the 
  140.         hierarchical  meaning of data, but also the operation logic  used 
  141.         in  form entries.  Also, the syntax is very simple  and  straight 
  142.         forward.   No prior knowledge about any programming languages  is 
  143.         needed.
  144.  
  145.         Other  than  its  simplicity, JUDGE  also  provides  flexibility.  
  146.         Since  the definitions are in ASCII format, it is very  easy  for 
  147.         users  to  add,  modify,  and  delete  definitions.   Users   can 
  148.         gradually  add  in their new definitions and entries for  a  data 
  149.         file.  The users can also customize the files for their own needs. 
  150.  
  151.         The  other good features is that it can handle a huge  amount  of 
  152.         data items.  Each data item is a field in a record.  And a record 
  153.         is  showed  as  a form with up to 8 pages.   Since  there  is  no 
  154.         limitation  on the number of fields a record can have except  for 
  155.         that they should be able to show up on the pages, a record (or  a 
  156.         form) can hold a lot of fields.  Better than that, since there is 
  157.         no  limitation on the number of records, a JUDGE file  should  be 
  158.         able to hold as many definitions as the system memory allowed.
  159.  
  160.         JUDGE can also handle the situation that several set of data uses 
  161.         the  same definition in a record --- where the record has  to  be 
  162.         "relative"  one.   The example is the data of each  member  in  a 
  163.         role-playing  game.   For all the rest of data, it  would  simply 
  164.         uses absolute records.
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.                                    3
  185.         JUDGE Language Manual                                   12/24/92
  186.  
  187.  
  188.         Language Description
  189.         --------------------
  190.  
  191.         JUDGE is simple but structural.  It uses a hierarchical structure 
  192.         to  organize  data.  Data are defined as fields  in  JUDGE.   And 
  193.         fields  are  grouped together to be a record.  Then  records  are 
  194.         grouped as a module.  A module is the equal of a definition file.
  195.  
  196.         For  each  of  the definitions  and  definition  groups  (fields, 
  197.         records, and module), programmers should provide a name and  some 
  198.         descriptions.  Other than for identification, names are used as a 
  199.         tag ID as well as a label in forms.  The descriptions can be  any 
  200.         information which would help the GameDirector users to edit data.  
  201.         A  typical  description would be that about the value  range  the 
  202.         users can enter into the field.
  203.  
  204.  
  205.         Basic Style
  206.         -----------
  207.  
  208.         For people who are familiar with programming languages, they  may 
  209.         find that the syntax of JUDGE is similar to structure definitions 
  210.         in may programming languages.  That is true.  The basic style  in 
  211.         JUDGE would be something like:
  212.  
  213.              module "module name" {
  214.                   desc "description about module"
  215.                   absolute "A record" {
  216.                        desc "description about record"
  217.                        field "Gold" {
  218.                             desc "description about Gold"
  219.                             data ....
  220.                             entry .....
  221.                        }
  222.                        ... something
  223.                   }
  224.                   ... something
  225.                   relative "R record" {
  226.                        desc "description about record"
  227.                        recloc ...
  228.                        field "Name" {
  229.                             ...
  230.                        }
  231.                        filed "Race" {
  232.                             ...
  233.                        }
  234.                   }
  235.                   ... something
  236.              }
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.                                    4
  246.         JUDGE Language Manual                                   12/24/92
  247.  
  248.  
  249.         Syntax
  250.         ------
  251.  
  252.         The following is the details about JUDGE.
  253.  
  254.  
  255.         Keywords
  256.         --------
  257.  
  258.         Keywords  can be either all lower case or upper case  characters, 
  259.         but not the mixture of both.  That is, the keywords for  defining 
  260.         a  module can be either "MODULE" or "module", but  not  "Module".  
  261.         The following are keywords essential to JUDGE:
  262.  
  263.         MODULE, ABSOLUTE, RELATIVE, FIELD, DESC, RECLOC, DATA, ENTRY.
  264.  
  265.  
  266.         Names
  267.         -----
  268.  
  269.         The names of module, records, and fields are all quoted  strings. 
  270.         It  should not be longer than 40 characters.  The suggest  length 
  271.         is under 20.
  272.  
  273.  
  274.         Description
  275.         -----------
  276.  
  277.         Descriptions are double-quoted strings which will be displayed in 
  278.         GameDirector if the users want some help on the data objects.  It 
  279.         is  allowed  to  have  multiple  lines  of  descriptions  for   a 
  280.         definition.   However, there is a restriction  when  GameDirector 
  281.         displays them to the screen.  Thus the effective number of  lines 
  282.         should  be  under 16.   The length of the string  should  not  be 
  283.         longer than 70 characters long.
  284.  
  285.         Syntax:
  286.  
  287.              DESC string
  288.  
  289.         Example:
  290.  
  291.              desc "This is a description line for module."
  292.  
  293.              desc "This is a line for record."
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.                                    5
  307.         JUDGE Language Manual                                   12/24/92
  308.  
  309.  
  310.         MODULE definition
  311.         -----------------
  312.  
  313.         Module  is just a abstract container for records though it  still 
  314.         h